Unsolicited messages referred here as “Spam”, is a problem effecting mainly electronic mail communication, but also other type of communication such as: phone, fax, Short Message Service (SMS) messages, instant messages such as Windows Messenger™, ICQ™, Skype™ and similar.
There are multiple ways trying to fight this phenomenon, most of the methods are based on scoring systems that try to identify: unsolicited message patterns, masqueraded origin address, sources (e.g. mail servers) located in lists known as “Blacklists” originating Spam messages, and prevent such messages from reaching the user.
The user receives his or her messages using user clients such as mail clients (e.g. Microsoft Outlook™), messaging servers (e.g. Microsoft Exchange™) and web mail systems (e.g. Gmail™, Yahoo Mail™ and Hotmail™). Each of these systems receives the messages and has filtering capabilities to deny a message or forward it to a known “Spam” or “Junk” or “Bulk” folder for future examination. None of the existing systems is 100% fail proof and suffers to a certain degree of false positive “Spam” identification, i.e. treating important messages as “Spam”, or false negative “Spam” identification, i.e. letting “Spam” messages through as if they were relevant messages.
Another method for ensuring that only relevant messages are received is to use a classifier, noted hereby as “Whitelist”, i.e. a classifier (filter) that contains message origin addresses and allowing only messages from trusted parties (origin addresses) to reach the user. Therefore “Whitelist” is a dynamic-temporal set of records with credibility value bigger then a threshold (scoring value that can dynamically change). The credibility-scoring is calculated based on diverse parameters including but not limited to tags assigned by the system, tags assigned by the user, frequency of mal-messages, decline rate of mal-messages, distance between social networks, collaborative rating, etc.
Variation on this concept are used by some existing “Spam” filters such as CA's Anti-Spam™ (formerly Qurb™) system. While this method is efficient in forwarding only messages from trusted origins, the source for these origins is limited and comes usually only from addresses inserted by the user, either in his or her address book or from messages he or she sent.
Internet communication allows for the forming of social networks of people who know each other or share a common interest. One outcome of such social networks is sharing and aggregating information between the members in those social networks. Examples for social networks are Wikipedia™ as an encyclopedia shared by its members, LinkedIn™ as a contacts network, Flickr™ as a photo exchange network and Facebook™ as a general social network with multiple shared topics. Another place where people tend to share information is there workplace or organization. A problem is that people in those networks tend not to expose their contact information to their peers because they do not want to reveal this information to people who may exploit the contact information to send “Spam” to those contacts or even because they treat their contact information as trade secrets.
Cryptography provides us with many tools to hide information from unwanted parties. One of the interesting cryptographic methods is Hashing. Hashing is a method that receives a certain plaintext as input and encrypts it producing a digest. Using an efficient hashing method it is virtually impossible to decrypt the digest to produce the source plaintext. However using the same Hashing method on the same plaintext will always produce the same digest. This is why the Hashing method is sometimes called “one way encryption”. Examples for such Hashing methods are SHA-1 and MD5. Hashing methods are commonly used for digital signatures and password verification.